package hu.tortavar2.client;

import hu.tortavar2.shared.Product;
import hu.tortavar2.shared.ProductCategory;
import hu.tortavar2.shared.Shop;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface SiteServiceAsync {

	void getBlobStoreUploadUrl(AsyncCallback<String> callback);

	void getProductCategory(AsyncCallback<List<ProductCategory>> callback);

	void addNewCategory(ProductCategory category, AsyncCallback<Void> callback);

	void deleteCategory(String encodedKey, AsyncCallback<Void> callback);

	void getShops(AsyncCallback<List<Shop>> callback);

	void addShop(Shop shop, AsyncCallback<Void> callback);

	void deleteShop(String encodedKey, AsyncCallback<Void> callback);

	void getProducts(String category, AsyncCallback<List<Product>> callback);

	void getProduct(String encodedKey, AsyncCallback<Product> callback);

}
